<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<title>Dart : Libraries : box2d : DebugDraw</title>
</head>

<body>

<header></header>

<h1 id="title">class <a name='DebugDraw::DebugDraw'>DebugDraw</a></h1>

<section id="inheritance">

<section class="supertype">
<h2>Supertype:</h2>
<ul><li>Object</li></ul>
</section>

<section class="subtypes">
<h2>Subtypes:</h2>
<ul>
<li><a href='CanvasDraw.html#CanvasDraw::CanvasDraw'>CanvasDraw</a></li>
</ul>
</section>

</section>

<section id="summary">

 Implement this abstract class to allow JBox2d to
 automatically draw your physics for debugging purposes.
 Not intended to replace your own custom rendering
 routines! Draws shapes by default.
</section>

<section id="fields">
<h2>Fields</h2>
<dl>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::drawFlags'>drawFlags
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::e_aabbBit'>e_aabbBit
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::e_centerOfMassBit'>e_centerOfMassBit
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::e_dynamicTreeBit'>e_dynamicTreeBit
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::e_jointBit'>e_jointBit
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::e_pairBit'>e_pairBit
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='int.html#int::int'>int</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::e_shapeBit'>e_shapeBit
</a></code></span>
</dt>
<dd>
</dd>
<dt>
<span class="field-type"><code><code><a href='IViewportTransform.html#IViewportTransform::IViewportTransform'>IViewportTransform</a></code></code></span>
<span class="field-name"><code><a name='DebugDraw::viewportTransform'>viewportTransform
</a></code></span>
</dt>
<dd>
</dd>
</dl>
</section>

<section id="constructors">
<h2>Constructors</h2>
<dl>
<dt>
<code><a href='DebugDraw.html#DebugDraw::DebugDraw'>DebugDraw</a>(<code><a href='IViewportTransform.html#IViewportTransform::IViewportTransform'>IViewportTransform</a></code> <a name='DebugDraw::::viewport'>viewport</a>)</code>
</dt>
<dd>
</dd>
</dl>
</section>

<section id="methods">
<h2>Methods</h2>
<dl>
<dt>
<code>void <a name='DebugDraw::appendFlags'>appendFlags</a>(<code><a href='int.html#int::int'>int</a></code> <a name='DebugDraw::appendFlags::flags'>flags</a>)</code></dt>
<dd>
</dd>
<dt>
<code>void <a name='DebugDraw::clearFlags'>clearFlags</a>(<code><a href='int.html#int::int'>int</a></code> <a name='DebugDraw::clearFlags::flags'>flags</a>)</code></dt>
<dd>
</dd>
<dt>
<code>void <a name='DebugDraw::drawCircle'>drawCircle</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::drawCircle::center'>center</a>, <code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::drawCircle::radius'>radius</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawCircle::color'>color</a>)</code></dt>
<dd>

 Draw a circle.
</dd>
<dt>
<code>void <a name='DebugDraw::drawPoint'>drawPoint</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::drawPoint::argPoint'>argPoint</a>, <code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::drawPoint::argRadiusOnScreen'>argRadiusOnScreen</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawPoint::argColor'>argColor</a>)</code></dt>
<dd>

 Draws the given point with the given radius and color.
</dd>
<dt>
<code>void <a name='DebugDraw::drawPolygon'>drawPolygon</a>(<code><a href='List.html#List::List'>List&lt;E&gt;</a></code> <a name='DebugDraw::drawPolygon::vertices'>vertices</a>, <code><a href='int.html#int::int'>int</a></code> <a name='DebugDraw::drawPolygon::vertexCount'>vertexCount</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawPolygon::color'>color</a>)</code></dt>
<dd>

 Draw a closed polygon provided in CCW order.  This implementation
 uses <code><a href='DebugDraw.html#DebugDraw::drawSegment'>drawSegment</a></code> to draw each side of the polygon.
</dd>
<dt>
<code>void <a name='DebugDraw::drawSegment'>drawSegment</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::drawSegment::p1'>p1</a>, <code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::drawSegment::p2'>p2</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawSegment::color'>color</a>)</code></dt>
<dd>

 Draw a line segment.
</dd>
<dt>
<code>void <a name='DebugDraw::drawSolidCircle'>drawSolidCircle</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::drawSolidCircle::center'>center</a>, <code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::drawSolidCircle::radius'>radius</a>, <code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::drawSolidCircle::axis'>axis</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawSolidCircle::color'>color</a>)</code></dt>
<dd>

 Draw a solid circle.
</dd>
<dt>
<code>void <a name='DebugDraw::drawSolidPolygon'>drawSolidPolygon</a>(<code><a href='List.html#List::List'>List&lt;E&gt;</a></code> <a name='DebugDraw::drawSolidPolygon::vertices'>vertices</a>, <code><a href='int.html#int::int'>int</a></code> <a name='DebugDraw::drawSolidPolygon::vertexCount'>vertexCount</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawSolidPolygon::color'>color</a>)</code></dt>
<dd>

 Draw a solid closed polygon provided in CCW order.
</dd>
<dt>
<code>void <a name='DebugDraw::drawString'>drawString</a>(<code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::drawString::x'>x</a>, <code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::drawString::y'>y</a>, <code><a href='String.html#String::String'>String</a></code> <a name='DebugDraw::drawString::s'>s</a>, <code><a href='Color3.html#Color3::Color3'>Color3</a></code> <a name='DebugDraw::drawString::color'>color</a>)</code></dt>
<dd>

 Draw a string.
</dd>
<dt>
<code>void <a name='DebugDraw::drawTransform'>drawTransform</a>(<code><a href='Transform.html#Transform::Transform'>Transform</a></code> <a name='DebugDraw::drawTransform::xf'>xf</a>)</code></dt>
<dd>

 Draw a transform.  Choose your own length scale
</dd>
<dt>
<code><code><a href='int.html#int::int'>int</a></code> <a name='DebugDraw::getFlags'>getFlags</a>()</code></dt>
<dd>
</dd>
<dt>
<code>void <a name='DebugDraw::getScreenToWorldToOut'>getScreenToWorldToOut</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::getScreenToWorldToOut::argScreen'>argScreen</a>, <code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::getScreenToWorldToOut::argWorld'>argWorld</a>)</code></dt>
<dd>

 Screen coordinates are specified in argScreen. These coordinates are
 converted to World coordinates and placed in the argWorld return vector.
</dd>
<dt>
<code><code><a href='IViewportTransform.html#IViewportTransform::IViewportTransform'>IViewportTransform</a></code> <a name='DebugDraw::getViewportTranform'>getViewportTranform</a>()</code></dt>
<dd>

 Returns the viewport transform.
</dd>
<dt>
<code>void <a name='DebugDraw::getWorldToScreenToOut'>getWorldToScreenToOut</a>(<code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::getWorldToScreenToOut::argWorld'>argWorld</a>, <code><a href='Vector.html#Vector::Vector'>Vector</a></code> <a name='DebugDraw::getWorldToScreenToOut::argScreen'>argScreen</a>)</code></dt>
<dd>

 World coordinates are specified in argWorld. These coordinates are
 converted to screen coordinates and placed in the argScreen return vector.
</dd>
<dt>
<code>void <a name='DebugDraw::setCamera'>setCamera</a>(<code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::setCamera::x'>x</a>, <code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::setCamera::y'>y</a>, <code><a href='num.html#num::num'>num</a></code> <a name='DebugDraw::setCamera::scale'>scale</a>)</code></dt>
<dd>

 Sets the center of the viewport to the given x and y values and the
 viewport scale to the given scale.
</dd>
<dt>
<code>void <a name='DebugDraw::setFlags'>setFlags</a>(<code><a href='int.html#int::int'>int</a></code> <a name='DebugDraw::setFlags::flags'>flags</a>)</code></dt>
<dd>
</dd>
</dl>
</section>

<footer></footer>

</body></html>
